---
title: Integração Google Slides
description: "Criação e gerenciamento de apresentações com integração Google Slides para CrewAI."
icon: "chart-bar"
mode: "wide"
---

## Visão Geral

Permita que seus agentes criem, editem e gerenciem apresentações do Google Slides. Crie apresentações, atualize conteúdo, importe dados do Google Sheets, gerencie páginas e miniaturas, e simplifique seus fluxos de trabalho de apresentações com automação alimentada por IA.

## Pré-requisitos

Antes de usar a integração Google Slides, certifique-se de ter:

- Uma conta [CrewAI AOP](https://app.crewai.com) com assinatura ativa
- Uma conta Google com acesso ao Google Slides
- Conectado sua conta Google através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors)

## Configurando a Integração Google Slides

### 1. Conecte sua Conta Google

1. Navegue para [Integrações CrewAI AOP](https://app.crewai.com/crewai_plus/connectors)
2. Encontre **Google Slides** na seção de Integrações de Autenticação
3. Clique em **Conectar** e complete o fluxo OAuth
4. Conceda as permissões necessárias para acesso a apresentações, planilhas e drive
5. Copie seu Token Enterprise das [Configurações de Integração](https://app.crewai.com/crewai_plus/settings/integrations)

### 2. Instale o Pacote Necessário

```bash
uv add crewai-tools
```

### 3. Configuração de variável de ambiente

<Note>
  Para usar integrações com `Agent(apps=[])`, você deve definir a variável de ambiente `CREWAI_PLATFORM_INTEGRATION_TOKEN` com seu Enterprise Token.
</Note>

```bash
export CREWAI_PLATFORM_INTEGRATION_TOKEN="seu_enterprise_token"
```

Ou adicione ao seu arquivo `.env`:

```
CREWAI_PLATFORM_INTEGRATION_TOKEN=seu_enterprise_token
```

## Ações Disponíveis

<AccordionGroup>
  <Accordion title="google_slides/create_blank_presentation">
    **Descrição:** Cria uma apresentação em branco sem conteúdo.

    **Parâmetros:**
    - `title` (string, obrigatório): O título da apresentação.
  </Accordion>

  <Accordion title="google_slides/get_presentation">
    **Descrição:** Recupera uma apresentação por ID.

    **Parâmetros:**
    - `presentationId` (string, obrigatório): O ID da apresentação a ser recuperada.
    - `fields` (string, opcional): Os campos a incluir na resposta. Use isso para melhorar o desempenho retornando apenas os dados necessários.
  </Accordion>

  <Accordion title="google_slides/batch_update_presentation">
    **Descrição:** Aplica atualizações, adiciona conteúdo ou remove conteúdo de uma apresentação.

    **Parâmetros:**
    - `presentationId` (string, obrigatório): O ID da apresentação a ser atualizada.
    - `requests` (array, obrigatório): Uma lista de atualizações a aplicar à apresentação. Cada item é um objeto representando uma solicitação.
    - `writeControl` (object, opcional): Fornece controle sobre como as solicitações de escrita são executadas. Contém `requiredRevisionId` (string).
  </Accordion>

  <Accordion title="google_slides/get_page">
    **Descrição:** Recupera uma página específica por seu ID.

    **Parâmetros:**
    - `presentationId` (string, obrigatório): O ID da apresentação.
    - `pageObjectId` (string, obrigatório): O ID da página a ser recuperada.
  </Accordion>

  <Accordion title="google_slides/get_thumbnail">
    **Descrição:** Gera uma miniatura da página.

    **Parâmetros:**
    - `presentationId` (string, obrigatório): O ID da apresentação.
    - `pageObjectId` (string, obrigatório): O ID da página para geração de miniatura.
  </Accordion>

  <Accordion title="google_slides/import_data_from_sheet">
    **Descrição:** Importa dados de uma planilha do Google para uma apresentação.

    **Parâmetros:**
    - `presentationId` (string, obrigatório): O ID da apresentação.
    - `sheetId` (string, obrigatório): O ID da planilha do Google para importar.
    - `dataRange` (string, obrigatório): O intervalo de dados a importar da planilha.
  </Accordion>

  <Accordion title="google_slides/upload_file_to_drive">
    **Descrição:** Faz upload de um arquivo para o Google Drive associado à apresentação.

    **Parâmetros:**
    - `file` (string, obrigatório): Os dados do arquivo a fazer upload.
    - `presentationId` (string, obrigatório): O ID da apresentação para vincular o arquivo carregado.
  </Accordion>

  <Accordion title="google_slides/link_file_to_presentation">
    **Descrição:** Vincula um arquivo no Google Drive a uma apresentação.

    **Parâmetros:**
    - `presentationId` (string, obrigatório): O ID da apresentação.
    - `fileId` (string, obrigatório): O ID do arquivo a vincular.
  </Accordion>

  <Accordion title="google_slides/get_all_presentations">
    **Descrição:** Lista todas as apresentações acessíveis ao usuário.

    **Parâmetros:**
    - `pageSize` (integer, opcional): O número de apresentações a retornar por página.
    - `pageToken` (string, opcional): Um token para paginação.
  </Accordion>

  <Accordion title="google_slides/delete_presentation">
    **Descrição:** Exclui uma apresentação por ID.

    **Parâmetros:**
    - `presentationId` (string, obrigatório): O ID da apresentação a ser excluída.
  </Accordion>
</AccordionGroup>

## Exemplos de Uso

### Configuração Básica do Agente Google Slides

```python
from crewai import Agent, Task, Crew

# Crie um agente com capacidades do Google Slides
slides_agent = Agent(
    role="Criador de Apresentações",
    goal="Criar e gerenciar apresentações do Google Slides de forma eficiente",
    backstory="Um assistente IA especializado em design de apresentações e gerenciamento de conteúdo.",
    apps=['google_slides']  # Todas as ações do Google Slides estarão disponíveis
)

# Tarefa para criar uma nova apresentação
create_presentation_task = Task(
    description="Criar uma nova apresentação em branco intitulada 'Relatório de Vendas Trimestral'",
    agent=slides_agent,
    expected_output="Nova apresentação 'Relatório de Vendas Trimestral' criada com sucesso"
)

# Execute a tarefa
crew = Crew(
    agents=[slides_agent],
    tasks=[create_presentation_task]
)

crew.kickoff()
```

### Atualizando Conteúdo da Apresentação

```python
from crewai import Agent, Task, Crew

# Crie um agente focado em atualizar apresentações
updater_agent = Agent(
    role="Atualizador de Apresentações",
    goal="Atualizar e modificar apresentações existentes do Google Slides",
    backstory="Um assistente IA habilidoso em fazer atualizações precisas no conteúdo de apresentações.",
    apps=['google_slides/batch_update_presentation']
)

# Tarefa para atualizar uma apresentação
update_presentation_task = Task(
    description="Atualizar a apresentação com ID 'your_presentation_id' para adicionar uma nova caixa de texto no primeiro slide com o conteúdo 'Destaques Principais'.",
    agent=updater_agent,
    expected_output="Apresentação atualizada com novo conteúdo."
)

crew = Crew(
    agents=[updater_agent],
    tasks=[update_presentation_task]
)

crew.kickoff()
```

### Importando Dados e Gerenciando Arquivos

```python
from crewai import Agent, Task, Crew

# Crie um agente para importação de dados e gerenciamento de arquivos
data_presenter = Agent(
    role="Apresentador de Dados",
    goal="Importar dados para apresentações e gerenciar arquivos vinculados",
    backstory="Um assistente IA que integra dados de várias fontes em apresentações.",
    apps=['google_slides/import_data_from_sheet', 'google_slides/upload_file_to_drive']
)

# Tarefa para importar dados de uma planilha
import_data_task = Task(
    description="Importar dados da planilha do Google 'your_sheet_id' intervalo 'A1:C10' para a apresentação 'your_presentation_id'.",
    agent=data_presenter,
    expected_output="Dados importados da planilha do Google para a apresentação."
)

crew = Crew(
    agents=[data_presenter],
    tasks=[import_data_task]
)

crew.kickoff()
```

## Solução de Problemas

### Problemas Comuns

**Erros de Autenticação**
- Certifique-se de que sua conta Google tenha as permissões necessárias para acesso ao Google Slides e Google Drive.
- Verifique se a conexão OAuth inclui todos os escopos necessários.

**Problemas de ID de Apresentação/Página**
- Verifique novamente os IDs de apresentação e IDs de objeto de página para correção.
- Certifique-se de que a apresentação ou página existe e está acessível.

**Formatação de Solicitação de Atualização em Lote**
- Ao usar `batch_update_presentation`, certifique-se de que o array `requests` esteja formatado corretamente de acordo com a documentação da API do Google Slides.
- Atualizações complexas frequentemente requerem estruturas JSON específicas para cada tipo de solicitação (ex: `createText`, `insertShape`).

**Problemas de Upload/Vinculação de Arquivos**
- Certifique-se de que o conteúdo do `file` esteja fornecido corretamente para `upload_file_to_drive`.
- Verifique se o `fileId` está correto ao vincular arquivos a uma apresentação.
- Verifique as permissões do Google Drive para acesso a arquivos.

### Obtendo Ajuda

<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
  Entre em contato com nossa equipe de suporte para assistência com configuração ou solução de problemas da integração Google Slides.
</Card>
